zabbix自动添加主机

        熟悉了zabbix的日常监控,可以在生产环境正确的部署核实施监控工作。而且通过修改zabbix agent为主动方式并结合zabbix proxy的使用,可以满足大规模监控的需求。那么同样的问题就是大规模监控环境中,如何能让操作自动化。面对上百、数千乃至上万的规模,手动添加监控基本上是不可能的。

        可以将zabbix自动化分为三个打方向

  • Zabbix Agent的自动添加
  • Zabbix Discovery自动发现
  • 使用Zabbix API

        zabbix agent主动注册指的是,当新增加一台服务器,安装好zabbix agent,并配置zabbix server的IP地址后,zabbix agent主动练习zabbix server,zabbix server接收到agent的连接后,根据agent的特性核相应的策略,自动将它们加入Host,并且可以根据相关的特征自动关联相应的监控模版。

zabbix Agent配置

        需要开启zabbix agent的主动注册,首先需要对zabbix agent进行配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
ServerActive=Zabbix Server的IP地址
Hostname=auto.example.com
#设置主机名,如果不设置默认使用HostnameItem获取主机名。而默认情况下HostnameItem=system.hostname,这样就可以获取到Agent的主机名了。
#HostMetadata=nginx
#HostMetadata用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,如果不设置默认从HostMetadataItem获取
HostMetadataItem=system.uname
# HostMetadataItem也是用于定义主机的元数据,在自动注册的时候使用,不能大于255个字符,这里设置的Item指的是Zabbix自带的监控项,注意这个值只用于HostMetadata没有设置的时候才生效。

Zabbix Action配置

        配置完毕agent后,在web界面上配置一个Action。步骤为

        configuration–>action–>Eventsource(选择AUTO REGISTRATION)–>CreateAcion

        可以自定义一个名称,其它的默认即可。

Action选项卡

01

Conditions选项卡

        要在Conditions里面定义好需要的条件,这里选择Host metadata like Linux。这样就刚好匹配到在agent配置文件里面设置的HostMetadataItem=system.uname

02

Operations选项卡

        接下来配置Operations选项卡,告知Action匹配到条件后的操作。下面配置了三个操作,满足条件的activehost发起请求后会进行下面操作:

  • 把agent加到host列表
  • 把agent加入linux server组
  • agent主机link模版Template OS linux

        需要强调的是,需要修改模版中的监控类型为zabbix agent(active)。默认的话都是zabbix agent被动模式。

        首先克隆一个模版:Configuration–>Templates–>Template–>Template OS Linux点进去,拉到最下面,选择Full Clone,重新给模版起一个名字,因为要改成恒主动模式,所以这里给模版起了一个Template OS Linux Active的名字。点进去模版选择items查看监控项,可以发现Type都是Zabbix Agent(被动模式)

修改被动模式为主动

  1. 点击左侧复选框选择所有监控项,然后点击下方的Mass update

03

  1. Type选择zabbix agent active 进行批量修改提交即可

04

  1. 修改完成以后就可以查看所有的模版类型了,不过发现并不是所有的模版类型都改成了主动模式,这主要是因为上述模版还Link了一个“Template App Zabbix Agent”的模版,为了使所有的监控项类型都为主动模式,可以如法炮制,将上述关联的模版也进行一次 Full Clone然后按照上面的方法进行修改。

  2. 配置Actions中的options选项卡

05

        经过这样的配置,那么新的Agent就会自动被Zabbix Server添加到主机监控中,并自动链接模版。目前自动注册并不会产生一个时间所以在Event中是看不到Zabbix Server自动添加了一台主机的。